리틀 엔디언과 빅 엔디언

아마 네트웍 프로그래밍을 조금 해보았다면, Little-Endian, Big-Endian 이라는 말을 들어 보았을것이다. 때로 order byte, byte order 라고 말하기도 하며, 작은 끝돌이, 큰 끝돌이(--;) 라고 말하기도 한다. 작은 끝돌이, 큰 끝돌이는 김치하 교수의 번역서에서 볼수 있는 단어들이다....

epoll - Kernel 2.6 기반

epoll - Kernel 2.6 기반이전의 epoll(2.4에서 epoll은 정식지원 사항이 아니었지만, 2.6에서는 정식지원이 되는 관계로 별도의 커널패치라든지 라이브러리(아래는 간단한 예제입니다. ET (EPOLLET) 방식이기 때문에 소켓을 nonblocking으로 했습니다. ET로 할것인지 LT로 할것인지에 대해서 생각이 다를 수 있는데, 속편하...

멀티 프로세스 기반 소켓 프로그램 개발

멀티 프로세스 기반 소켓 프로그램 개발멀티 프로세스는 시스템 프로그래밍 영역으로 에서 자세히 다루고 있으니 참고하기 바란다. BSD 소켓은 네트워크 통신을 위한 기술만을 제공한다. 다수의 클라이언트를 처리하기 위한 기술등은 제공하지 않는다. 소켓 프로그래밍에서 데이터 통신 이외의 기술은 독립된 기술로 존재한다. 그러므로 (다수의 클라이언트를 처리하는 등의...

서버 클라언트 모델 기반의 계산기 프로그램 제작

서버 클라언트 모델 기반의 계산기 프로그램 제작작성자본 강좌에서는 네트웍을 통해 접속한 클라이언트가 전송한 수식데이터를 받아서 서버에서 연산후 그 결과를 다시 클라이언트로 전송하는 C/S 프로그램 예제이다.지금까지 익한 자료구조와 네트워크 프로그래밍 기법, 계산기 알고리즘을 이용하여 직접해보도록 한다. #include #include

select를 이용한 다중연결 처리 서버 작성

select를 이용한 다중연결 처리 서버 작성우리는 문서를 읽어 보기 바란다.select(2) 를 통해서 다중연결서버를 만들경우 fork(2)를 이용한 멀티 프로세스에 비해서 몇가지 장점이 있다. 프로세스 생성은 매우 많은 비용이든다. 입출력 다중화는 프로세스 생성비용을 줄일 수 있다. 멀티 프로세스 방식 프로그램의 경우 독립된 프로세스로 실행되므로 프로...

BSD 소켓 프로그래밍 입문

BSD 소켓 프로그래밍 입문현재 네트워크는 internet(인터넷)으로 대변된다. 때문에 네트워크 대신 인터넷이라는 용어를 사용하도록 하겠다. 인터넷 프로그램은 인터넷상에서 멀리 떨어진 프로그램 사이에서 통신을 수행하는 프로그램이다. 인터넷 프로그램을 이용해서 우리는 웹페이지를 서핑하고 온라인 게임을 하며 주식거래를 하고 물건을 구입한다. 이메일을 주고 ...

Python 소켓 프로그래밍

Python 소켓 프로그래밍익숙한 C/C++ 대신 Python 언어를 선택한 이유가 궁금할 수 있겠습니다. 사실 그렇기도 합니다. C/C++로 간단하게? 구현할 수 있는데, 굳이 Python이라는 새로운 언어를 이용해서 구현하려는지 말입니다.지금까지 제가 맡았던 업무들의 상당수가 시스템/네트워크 기타 로그를 수집해서 분석하는 프로그램의 개발이었습니다. 보...

NET::HTTP를 이용한 웹 클라이언트 개발

NET header까지 제어해야 했다. 해서 꽤 많은 일을 할 수 있는 HTTP client api를 찾아야 했다. 그렇게 찾은게 NETHTTP 요청은 꽤 많은 구성요소를 가진다. "프로토콜require uriuri = URI("httpputs uri.scheme # http puts uri.host # www.joinc.co.krputs uri.port...

Rack

Rack Rack은 Ruby 기반의 웹 애플리케이션 개발을 위한 인터페이스를 제공하는 소프트웨어다. Rack의 가장 간단한 응용은 웹서버의 요청을 받아서 웹 프레임워크로 전달하고 응답을 웹서버로 전달하는 미들웨어 소프트웨어의 개발이다. Rack는 웹 서버로의 요청을 처리해서 웹 프레임워크로 전달하고, 웹 프레임워크의 응답을 처리해서 웹 서버로 전달하기 위...

PHP 에서 SNMP의 사용

PHP 에서 SNMP의 사용PHP는 SNMP( 1. net-snmp를 설치한다. 1. php를 컴파일 할때 --with-snmp 옵션을 추가한다. # ./configure --prefix=/usr/local/php --with-mysql --with-config-file-path=/usr/local/apache/conf \--with-apxs2=/usr/...